package co.yixiang.modules.system.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;
import lombok.Builder;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import javax.validation.constraints.*;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.io.Serializable;

/**
* @author db
* @date 2020-11-17
*/
@Data
@Accessors(chain = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("g_store_update")
public class StoreUpdate implements Serializable {

    @TableId
    private Integer id;


    /** 商店唯一码 */
    private String storeUnique;


    /** 店铺名称，即牌匾名 */
    private String name;


    /** 店铺联系电话 */
    private String phone;


    /** 一级经营类目 */
    private String type;


    /** 二级经营类目 */
    private String lowerType;


    /** 二级经营类目id */
    private Integer lowerTypeId;


    /** 商户折扣 */
    private BigDecimal discount;


    /** 省 */
    private String province;


    /** 市 */
    private String city;


    /** 区 */
    private String county;


    /** 详细地址 */
    private String detialAddress;


    /** 经度 */
    private Float longitude;


    /** 维度 */
    private Float latitude;


    /** 门脸照片 */
    private String facePhoto;


    /** 商户备注 */
    private String remark;


    /** 审批状态，0：审核中，1：审核通过，2：驳回 */
    private Integer auditStatus;

    @TableField(exist = false)
    private Integer auditStatus_text;

    /** 审核信息，驳回原因 */
    private String auditInfo;


    /** 是否处理，0：未处理，1：已处理，2：延时处理 */
    private Integer processingStatus;

    @TableField(exist = false)
    private Integer processingStatus_text;


    /** 创建时间 */
    private LocalDateTime createTimes;


    /** 修改时间 */
    private LocalDateTime updateTimes;


    public void copy(StoreUpdate source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
